<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>BIBLIO: /home/marco/workspace/biblio/src/bibclient.h File Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />



</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">BIBLIO
   
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.6.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#define-members">Defines</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">/home/marco/workspace/biblio/src/bibclient.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Header file per il client del progetto BIBLIO.  
<a href="#details">More...</a></p>

<p><a href="bibclient_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bibclient_8h.html#a1ebf69baf0d09a7865b0fbcfd59c48f6">ERR_PARAM</a>&#160;&#160;&#160;&quot;Numero di parametri errato\n&quot;</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bibclient_8h.html#a5097dcc4b8a18f11d152b12d2344660b">BIB_END</a>&#160;&#160;&#160;&quot;Fine messaggi da %s\n&quot;</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bibclient_8h.html#a6a58846379c515dca21870f11b250b58">OPTION_FORMATS</a>&#160;&#160;&#160;{AUTORE_, TITOLO_, EDITORE_, LUOGO_PUBBLICAZIONE_, ANNO_, COLLOCAZIONE_, DESCRIZIONE_FISICA_, NOTA_, PRESTITO_}</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bibclient_8h.html#afb6b8c4d21f9183c9c65f548d976af2f">CONF</a>&#160;&#160;&#160;&quot;bib.conf&quot;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Messaggi di errore del parsing dei parametri</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Messaggi di errore per l'utente. </p>
</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a146df14819d42419e6b14ca92c5a4405"></a><!-- doxytag: member="bibclient.h::ERR_OPT" ref="a146df14819d42419e6b14ca92c5a4405" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>ERR_OPT</b>&#160;&#160;&#160;&quot;Parametro %s errato!\n&quot;</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8524d49bb2522e68511756dba8300c5e"></a><!-- doxytag: member="bibclient.h::ERR_MUL" ref="a8524d49bb2522e68511756dba8300c5e" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>ERR_MUL</b>&#160;&#160;&#160;&quot;Parametro %s specificato più di una volta!\n&quot;</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae1dcf352601ec4d3b700910df24f863d"></a><!-- doxytag: member="bibclient.h::ERR_BUF" ref="ae1dcf352601ec4d3b700910df24f863d" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>ERR_BUF</b>&#160;&#160;&#160;&quot;Errore, la dimensione totale dei parametri è superiore al limite consentito!\n&quot;</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3e25cb195dcf8b440b96d9018135b472"></a><!-- doxytag: member="bibclient.h::ERR_PAT" ref="a3e25cb195dcf8b440b96d9018135b472" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>ERR_PAT</b>&#160;&#160;&#160;&quot;Errore, nel path %s.&quot;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Messaggi di errore nelle comunicazioni con il server</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Messaggi di errore per l'utente. </p>
</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a106af366771b5f0f61e664ec5a2a203f"></a><!-- doxytag: member="bibclient.h::ERR_CON" ref="a106af366771b5f0f61e664ec5a2a203f" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>ERR_CON</b>&#160;&#160;&#160;&quot;Errore, impossibile collegarsi alla biblioteca %s\n&quot;</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae2fed2be4786b3d665810850b81924d0"></a><!-- doxytag: member="bibclient.h::ERR_SND" ref="ae2fed2be4786b3d665810850b81924d0" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>ERR_SND</b>&#160;&#160;&#160;&quot;Errore nell'invio della richiesta alla biblioteca %s\n&quot;</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a43cd7ece7b5599d1676cbf29afc41777"></a><!-- doxytag: member="bibclient.h::ERR_RCV" ref="a43cd7ece7b5599d1676cbf29afc41777" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>ERR_RCV</b>&#160;&#160;&#160;&quot;Errore nella ricezione della risposta dalla biblioteca %s\n&quot;</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a32c1a34a1f671fd8705fe65ea2018ee9"></a><!-- doxytag: member="bibclient.h::ERR_CLS" ref="a32c1a34a1f671fd8705fe65ea2018ee9" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>ERR_CLS</b>&#160;&#160;&#160;&quot;Errore nella chiusura della connessione con la biblioteca %s\n&quot;</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a958cc4e2573bddfb2599c3315d7b9d75"></a><!-- doxytag: member="bibclient.h::ERR_FIL" ref="a958cc4e2573bddfb2599c3315d7b9d75" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>ERR_FIL</b>&#160;&#160;&#160;&quot;Errore nell'apertura del file di configurazione\n&quot;</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2b7e7a0f1aeea4d36011478e2f758729"></a><!-- doxytag: member="bibclient.h::ERR_COM" ref="a2b7e7a0f1aeea4d36011478e2f758729" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>ERR_COM</b>&#160;&#160;&#160;&quot;Errore nella comunicazione con la biblioteca %s\n&quot;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Stringhe per il matching delle opzioni</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Utilizzate nella funzione <a class="el" href="bibclient_8c.html#a50fe4e9320fbfcdc05ac4fa6a9b1df95" title="Funzione di parsing dei parametri da riga di comando.">parse_option()</a> </p>
</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a26b02880a9e506599a1697636d152323"></a><!-- doxytag: member="bibclient.h::AUTORE_" ref="a26b02880a9e506599a1697636d152323" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>AUTORE_</b>&#160;&#160;&#160;&quot;--autore=%[^\n]s&quot;</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af78bb6e99ce64fb132dda2ecc1262074"></a><!-- doxytag: member="bibclient.h::TITOLO_" ref="af78bb6e99ce64fb132dda2ecc1262074" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>TITOLO_</b>&#160;&#160;&#160;&quot;--titolo=%[^\n]s&quot;</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2e847384ebed0a9fc421fb459742f8e7"></a><!-- doxytag: member="bibclient.h::EDITORE_" ref="a2e847384ebed0a9fc421fb459742f8e7" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>EDITORE_</b>&#160;&#160;&#160;&quot;--editore=%[^\n]s&quot;</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2012ab1557e10c97b1e76996305f1c07"></a><!-- doxytag: member="bibclient.h::LUOGO_PUBBLICAZIONE_" ref="a2012ab1557e10c97b1e76996305f1c07" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LUOGO_PUBBLICAZIONE_</b>&#160;&#160;&#160;&quot;--luogo_pubblicazione=%[^\n]s&quot;</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4d7dc753137b7ed168baa7648a8c0c4d"></a><!-- doxytag: member="bibclient.h::ANNO_" ref="a4d7dc753137b7ed168baa7648a8c0c4d" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>ANNO_</b>&#160;&#160;&#160;&quot;--anno=%[^\n]s&quot;</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1317c2f32e7b21fe17f503d4b05be384"></a><!-- doxytag: member="bibclient.h::COLLOCAZIONE_" ref="a1317c2f32e7b21fe17f503d4b05be384" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>COLLOCAZIONE_</b>&#160;&#160;&#160;&quot;--collocazione=%[^\n]s&quot;</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a27e95d51f0d904560334686ac5d37bef"></a><!-- doxytag: member="bibclient.h::DESCRIZIONE_FISICA_" ref="a27e95d51f0d904560334686ac5d37bef" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>DESCRIZIONE_FISICA_</b>&#160;&#160;&#160;&quot;--descrizione_fisica=%[^\n]s&quot;</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5129290c5e8eb5f48e81533a47396c62"></a><!-- doxytag: member="bibclient.h::NOTA_" ref="a5129290c5e8eb5f48e81533a47396c62" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>NOTA_</b>&#160;&#160;&#160;&quot;--nota=%[^\n]s&quot;</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a725d142d5dcfc81115affe9da324a18e"></a><!-- doxytag: member="bibclient.h::PRESTITO_" ref="a725d142d5dcfc81115affe9da324a18e" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>PRESTITO_</b>&#160;&#160;&#160;&quot;--prestito=%[^\n]s&quot;</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a233935c170f7424c466c53462e4af3c8"></a><!-- doxytag: member="bibclient.h::LOAN_" ref="a233935c170f7424c466c53462e4af3c8" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LOAN_</b>&#160;&#160;&#160;&quot;-p&quot;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Codici di esito per la funzione parse_option()</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Utilizzate nella funzione <a class="el" href="bibclient_8c.html#a50fe4e9320fbfcdc05ac4fa6a9b1df95" title="Funzione di parsing dei parametri da riga di comando.">parse_option()</a> </p>
</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9108cd1d4c34413cc6e69b4585b5f9e2"></a><!-- doxytag: member="bibclient.h::PARSE_OK" ref="a9108cd1d4c34413cc6e69b4585b5f9e2" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>PARSE_OK</b>&#160;&#160;&#160;0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa406271a1d930a6d2e85629f14ae2dd2"></a><!-- doxytag: member="bibclient.h::PARSE_ERROR" ref="aa406271a1d930a6d2e85629f14ae2dd2" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>PARSE_ERROR</b>&#160;&#160;&#160;-1</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a21f76548a257b117a6b9b01a8e8e4b87"></a><!-- doxytag: member="bibclient.h::PARSE_MUL" ref="a21f76548a257b117a6b9b01a8e8e4b87" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>PARSE_MUL</b>&#160;&#160;&#160;-2</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3ce389ef5237535cbe72fe530c6f8a08"></a><!-- doxytag: member="bibclient.h::PARSE_MAXBUF" ref="a3ce389ef5237535cbe72fe530c6f8a08" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>PARSE_MAXBUF</b>&#160;&#160;&#160;-3</td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="bibclient_8h.html#a50fe4e9320fbfcdc05ac4fa6a9b1df95">parse_option</a> (char *arg)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Funzione di parsing dei parametri da riga di comando.  <a href="#a50fe4e9320fbfcdc05ac4fa6a9b1df95"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Header file per il client del progetto BIBLIO. </p>
<dl class="author"><dt><b>Author:</b></dt><dd>Marco Luisi Si dichiara che il contenuto di questo file e' in ogni sua parte opera originale dell' autore. </dd></dl>
</div><hr/><h2>Define Documentation</h2>
<a class="anchor" id="a5097dcc4b8a18f11d152b12d2344660b"></a><!-- doxytag: member="bibclient.h::BIB_END" ref="a5097dcc4b8a18f11d152b12d2344660b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="bibclient_8h.html#a5097dcc4b8a18f11d152b12d2344660b">BIB_END</a>&#160;&#160;&#160;&quot;Fine messaggi da %s\n&quot;</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Messaggio di fine comunicazioni dalla biblioteca </p>

<p>Referenced by <a class="el" href="bibclient_8c.html#a0ddf1224851353fc92bfbff6f499fa97">main()</a>.</p>

</div>
</div>
<a class="anchor" id="afb6b8c4d21f9183c9c65f548d976af2f"></a><!-- doxytag: member="bibclient.h::CONF" ref="afb6b8c4d21f9183c9c65f548d976af2f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="bibclient_8h.html#afb6b8c4d21f9183c9c65f548d976af2f">CONF</a>&#160;&#160;&#160;&quot;bib.conf&quot;</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>File con l'elenco delle biblioteche </p>

<p>Referenced by <a class="el" href="bibclient_8c.html#a0ddf1224851353fc92bfbff6f499fa97">main()</a>.</p>

</div>
</div>
<a class="anchor" id="a1ebf69baf0d09a7865b0fbcfd59c48f6"></a><!-- doxytag: member="bibclient.h::ERR_PARAM" ref="a1ebf69baf0d09a7865b0fbcfd59c48f6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="bibclient_8h.html#a1ebf69baf0d09a7865b0fbcfd59c48f6">ERR_PARAM</a>&#160;&#160;&#160;&quot;Numero di parametri errato\n&quot;</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Messaggio di errore sui parametri di avvio </p>

<p>Referenced by <a class="el" href="bibclient_8c.html#a0ddf1224851353fc92bfbff6f499fa97">main()</a>.</p>

</div>
</div>
<a class="anchor" id="a6a58846379c515dca21870f11b250b58"></a><!-- doxytag: member="bibclient.h::OPTION_FORMATS" ref="a6a58846379c515dca21870f11b250b58" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define <a class="el" href="bibclient_8h.html#a6a58846379c515dca21870f11b250b58">OPTION_FORMATS</a>&#160;&#160;&#160;{AUTORE_, TITOLO_, EDITORE_, LUOGO_PUBBLICAZIONE_, ANNO_, COLLOCAZIONE_, DESCRIZIONE_FISICA_, NOTA_, PRESTITO_}</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Array con i pattern delle opzioni </p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="a50fe4e9320fbfcdc05ac4fa6a9b1df95"></a><!-- doxytag: member="bibclient.h::parse_option" ref="a50fe4e9320fbfcdc05ac4fa6a9b1df95" args="(char *arg)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="bibclient_8h.html#a50fe4e9320fbfcdc05ac4fa6a9b1df95">parse_option</a> </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>arg</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Funzione di parsing dei parametri da riga di comando. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">arg</td><td>argomento da linea di comando da parsare </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>risultato del parsing </dd></dl>

<p>References <a class="el" href="structmessage__t.html#a670e35a55f39260aab8a626b6ba04e82">message_t::buffer</a>, <a class="el" href="bibclient_8c.html#a9a70f6d55854f814402e7dc9ef0a91e3">fields</a>, <a class="el" href="structmessage__t.html#ae42a6394ce558e3e54470afd3862d9db">message_t::length</a>, <a class="el" href="bib_8h.html#a9dbede8174e19bee24e514e6b6d9ae5b">LLSTRING</a>, <a class="el" href="comsock_8h.html#ad7871643c05865c80f5d8050aead2b57">MAXBUF</a>, <a class="el" href="bibclient_8c.html#a4b68c33e5302c7f6ae2ffa10ee23cdc9">message_fields</a>, <a class="el" href="comsock_8h.html#a32ee7130b0d9855c703edd428790e506">MSG_LOAN</a>, <a class="el" href="bib_8h.html#a94a9355898094a43596f429ebd6c6313">NCAMPI</a>, <a class="el" href="bibclient_8c.html#acb38121ae172344d7a82a5cc6c4be962">option_formats</a>, <a class="el" href="bib_8c.html#a92a6aa4df4336a951d2ddd7ade816790">parse()</a>, and <a class="el" href="structmessage__t.html#a2088bcda29404ae1e84f99388bee473f">message_t::type</a>.</p>

<p>Referenced by <a class="el" href="bibclient_8c.html#a0ddf1224851353fc92bfbff6f499fa97">main()</a>.</p>

</div>
</div>
</div><!-- contents -->


<hr class="footer"/><address class="footer"><small>
Generated on Fri Jun 29 2012 10:36:44 for BIBLIO by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.6.1
</small></address>

</body>
</html>
